/*
 * File:   BasicTracker.h
 * Author: Joao F. Henriques, Joao Faro, Christian Bailer
 * Contact address: henriques@isr.uc.pt, joaopfaro@gmail.com,
 * Christian.Bailer@dfki.de Instute of Systems and Robotics- University of
 * COimbra / Department Augmented Vision DFKI
 *
 * This source code is provided for for research purposes only. For a commercial
 * license or a different use case please contact us. You are not allowed to
 * publish the unmodified sourcecode on your own e.g. on your webpage. Please
 * refer to the official download page instead. If you want to publish a
 * modified/extended version e.g. because you wrote a publication with a
 * modified version of the sourcecode you need our permission (Please contact us
 * for the permission).
 *
 * We reserve the right to change the license of this sourcecode anytime to BSD,
 * GPL or LGPL. By using the sourcecode you agree to possible restrictions and
 * requirements of these three license models so that the license can be changed
 * anytime without you knowledge.
 */

#pragma once

#include <opencv2/opencv.hpp>
#include <string>

class Tracker {
public:
  Tracker() {}
  virtual ~Tracker() {}

  virtual void init(const cv::Rect &roi, cv::Mat image) = 0;
  virtual cv::Rect update(cv::Mat image) = 0;

protected:
  cv::Rect_<float> _roi;
};
